package com.ybkj.daijia.server.sp;

import java.io.Serializable;
import java.util.Date;

/**
 * BJ 司机备案 spmodel 驾驶员基本信息接口 spmodel 驾驶员移动终端信息接口
 *
 * @author Sakura
 */
public class SjbaMessage implements Serializable {

    private static final long serialVersionUID = 5635116554322802441L;

    private String appKey;

    private String type = Type.MOREQ_SJBA;

    /**
     * BJ 司机备案（MOREQ_SJBA）
     */

    private String driverName;// 司机姓名

    private String driverIdCode;// 18位身份证号

    private String driverTel;// 司机电话

    private String vehicleLicense;// 驾驶车牌号码,定长 6,6位车牌号，去除“京”，字母大写

    private String driverStatus;// 状态，定长 2，ZG在岗，LG离岗

    private String licenceScan;// 驾驶证扫描件，扫描件照片Base64编码（驾驶证及副页扫描在同一张照片上）

    private String licenceScanPath;// 驾驶证扫描件，扫描件照片Base64编码（驾驶证及副页扫描在同一张照片上）

    private Date licenceStartDate;// 驾驶证有效期限起，YYYYMMDD

    private Date licenceEndDate;// 驾驶证有效期限止，YYYYMMDD

    private String marriage;// 驾驶员婚姻状况，定长，0：未婚1：已婚

    private String languageLevel;// 驾驶员外语能力,如：英语四级

    private Date conStartDate;// 合同（或协议）有效期起,yyyy-MM-ddHH:mm:ss

    private Date conEndDate;// 合同（或协议）有效期止,yyyy-MM-ddHH:mm:ss

    private String telType;// 司机手机型号

    private String telServiceName;// 司机手机运营商,固定字符,CHINA_UNICOM:中国联通;CHINA_MOBILE:中国移动;CHINA_TELCOM:中国电信;QT:其他

    private String version;// 司机使用app版本号

    private String mapType;// 使用地图类型1:百度地图2:高德地图3.腾讯地图4:其他

    private String emergencyContact;// 紧急情况联系人

    private String emergencyTel;// 紧急情况联系人电话

    private String emergencyAddr;// 紧急情况联系人通讯地址

    private String fullTimeDriver;// 是否专职驾驶员,0：否,1：是

    private String driverCensus;// 户口登记机关名称

    /**
     * spmodel 驾驶员基本信息接口
     */
    private String address;// 注册地行政区划代码

    //private String driverName;// 机动车驾驶员姓名（重复）

    //private String driverPhone;// 驾驶员手机号（与driverTel重复）

    private String driverGender;// 驾驶员性别JT/T 697.7—2014中4.1.2.1.3

    private Date driverBirthday;// 出生日期 YYYYMMDD

    private String driverNationality;// 国籍

    private String driverNation;// 驾驶员民族 JT/T 697.7—2014中4.1.2.1.8

    //private String driverMaritalStatus;// 驾驶员婚姻状况（与marriage重复）,未婚；已婚；离异

    //private String driverLanguageLevel;// 驾驶员外语能力（与languageLevel重复）

    private String driverEducation;// 驾驶员学历JT/T 697.7—2014中4.1.2.1.11

    //private String driverCensus;// 户口登记机关名称（重复）

    private String driverAddress;// 户口住址或长住地址

    private String driverContactAddress;// 驾驶员通信地址

    private String photoId;// 驾驶员照片文件编号

    //private String licenseId;// 机动车驾驶证号,（与driverIdCode重复）

    private String licensePhotoId;// 机动车驾驶证扫描件文件编号

    private String driverType;// 准驾车型见JT/T 697.7—2014中5.16

    private Date getDriverLicenseDate;// 初次领取驾驶证日期 YYYYMMDD

    //private Date driverLicenseOn;// 驾驶证有效期限起 （与licenceStartDate重复）YYYYMMDD

    //private Date driverLicenseOff;// 驾驶证有效期限止（与licenceEndDate重复） YYYYMMDD

    private Integer taxiDriver;// 是否巡游出租汽车驾驶员

    private String certificateNo;// 网络预约出租汽车驾驶员资格证号

    private String networkCarIssueOrganization;// 网络预约出租汽车驾驶员证发证机构

    private Date networkCarIssueDate;// 资格证发证日期 YYYYMMDD

    private Date getNetworkCarProofDate;// 初次领取资格证日期YYYYMMDD

    private Date networkCarProofOn;// 资格证有效起始日期YYYYMMDD

    private Date networkCarProofOff;// 资格证有效截止日期 YYYYMMDD

    private Date registerDate;// 报备日期

    //private Integer fullTimeDriver;// 是否专职驾驶员,1：是0：否（重复）

    private Integer inDriverBlacklist;// 是否在驾驶员黑名单内,1：是0：否

    private Integer commercialType;// 服务类型1：网络预约出租车2：巡游出租车3：私人小客车合乘

    private String contractCompany;// 驾驶员合同（或协议）签署公司

    //private Date contractOn;// 合同（或协议）有效期起（与conStartDate重复） YYYYMMDD

    //private Date contractOff;// 合同（或协议）有效期止（与conEndDate重复） YYYYMMDD

    //private String emergencyContact;// 紧急情况联系人（重复）

    //private String emergencyContactPhone;// 紧急情况联系人电话（与emergencyTel重复）

    //private String emergencyContactAddress;// 紧急情况联系人通信地址（与emergencyAddr重复）

    //private Integer state;// 状态（取值？）

    private Integer flag;// 操作表示1：新增2：更新3：删除

    //private Long updateTime;// 更新时间 YYYYMMDDhhmmss（取值？）

    /**
     * spmodel 驾驶员移动终端信息接口
     */
    //private Long address;//注册地行政区划代码（重复）

    //private String licenseId;//机动车驾驶证号（与driverIdCode重复）

    //private String driverPhone;//驾驶员手机号（与driverTel重复）

    //private Integer netType;//手机运营商（与telServiceName重复）

    //private String appVersion;//使用APP版本号（与version重复）

    //private Integer mapType;//使用地图类型（重复）

    //private Integer state;//状态（取值？）

    //private Integer flag;//操作标识（取值？）

    //private Long updateTime;//更新时间 YYYYMMDDhhmmss（取值？）

    /**
     * szmodel 驾驶员移动终端信息(YDZD)
     */
    //private String driverName;//驾驶员姓名（重复）

    //private String idCode;//身份证号（与driverIdCode重复）

    private String licenseId;//驾档编号

    //private String driverPhone;//驾驶员手机号（与driverTel重复）

    //private String netType;//手机运营商（与telServiceName重复）

    //private String appVersion;//使用app版本号（与version重复）

    //private String mapType;//使用地图类型（重复）

    //private String driCertNo;//网约车驾驶员证证号（与driverIdCode重复）

    /**
     * szmodel 个体驾驶员合同信息(JSYHT)
     */
    private String dataSource;//数据来源:ONLINE：线上 OFFLINE：线下

    //private String driverName;//驾驶员姓名（重复）

    //private String driverPhone;//电话（与driverTel重复）

    //private String gender;//性别（与driverGender重复）

    //private String birthday;//出生日期（与driverBirthday重复）

    //private String nation;//民族（与driverNation重复）

    //private String idType;//证件类型（与driverType重复）

    //private String idCode;//证件号码（与driverIdCode重复）

    //private String driCertNo;//网约车驾驶员证号（与certificateNo重复）

    private String vehicleNo;//车牌号

    private String frameNo;//车架号

    private String vehCertNo;//网约车车辆运输证号

    private String contractType;//合同类型

    private String contractNo;//合同编号

    private String contractStatus;//合同状态

    private String signTime;//合同签订时间

    private String contractFile;//合同附件

    //private String validTime;//合同生效时间（与conStartDate重复）

    //private String invalidTime;//合同失效时间（与conEndDate重复）

    private String refuseReaon;//不予签订原因

    private String updateTime;//更新时间

    public SjbaMessage() {
        super();

    }

    public String getLicenceScanPath() {
        return licenceScanPath;
    }

    public void setLicenceScanPath(String licenceScanPath) {
        this.licenceScanPath = licenceScanPath;
    }

    public Integer getFlag() {
        return flag;
    }


    public void setFlag(Integer flag) {
        this.flag = flag;
    }


    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDriverName() {
        return driverName;
    }

    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    public String getDriverIdCode() {
        return driverIdCode;
    }

    public void setDriverIdCode(String driverIdCode) {
        this.driverIdCode = driverIdCode;
    }

    public String getDriverTel() {
        return driverTel;
    }

    public void setDriverTel(String driverTel) {
        this.driverTel = driverTel;
    }

    public String getVehicleLicense() {
        return vehicleLicense;
    }

    public void setVehicleLicense(String vehicleLicense) {
        this.vehicleLicense = vehicleLicense;
    }

    public String getDriverStatus() {
        return driverStatus;
    }

    public void setDriverStatus(String driverStatus) {
        this.driverStatus = driverStatus;
    }

    public String getLicenceScan() {
        return licenceScan;
    }

    public void setLicenceScan(String licenceScan) {
        this.licenceScan = licenceScan;
    }

    public Date getLicenceStartDate() {
        return licenceStartDate;
    }

    public void setLicenceStartDate(Date licenceStartDate) {
        this.licenceStartDate = licenceStartDate;
    }

    public Date getLicenceEndDate() {
        return licenceEndDate;
    }

    public void setLicenceEndDate(Date licenceEndDate) {
        this.licenceEndDate = licenceEndDate;
    }

    public String getMarriage() {
        return marriage;
    }

    public void setMarriage(String marriage) {
        this.marriage = marriage;
    }

    public String getLanguageLevel() {
        return languageLevel;
    }

    public void setLanguageLevel(String languageLevel) {
        this.languageLevel = languageLevel;
    }

    public Date getConStartDate() {
        return conStartDate;
    }

    public void setConStartDate(Date conStartDate) {
        this.conStartDate = conStartDate;
    }

    public Date getConEndDate() {
        return conEndDate;
    }

    public void setConEndDate(Date conEndDate) {
        this.conEndDate = conEndDate;
    }

    public String getTelType() {
        return telType;
    }

    public void setTelType(String telType) {
        this.telType = telType;
    }

    public String getTelServiceName() {
        return telServiceName;
    }

    public void setTelServiceName(String telServiceName) {
        this.telServiceName = telServiceName;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getMapType() {
        return mapType;
    }

    public void setMapType(String mapType) {
        this.mapType = mapType;
    }

    public String getEmergencyContact() {
        return emergencyContact;
    }

    public void setEmergencyContact(String emergencyContact) {
        this.emergencyContact = emergencyContact;
    }

    public String getEmergencyTel() {
        return emergencyTel;
    }

    public void setEmergencyTel(String emergencyTel) {
        this.emergencyTel = emergencyTel;
    }

    public String getEmergencyAddr() {
        return emergencyAddr;
    }

    public void setEmergencyAddr(String emergencyAddr) {
        this.emergencyAddr = emergencyAddr;
    }

    public String getFullTimeDriver() {
        return fullTimeDriver;
    }

    public void setFullTimeDriver(String fullTimeDriver) {
        this.fullTimeDriver = fullTimeDriver;
    }

    public String getDriverCensus() {
        return driverCensus;
    }

    public void setDriverCensus(String driverCensus) {
        this.driverCensus = driverCensus;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getDriverGender() {
        return driverGender;
    }

    public void setDriverGender(String driverGender) {
        this.driverGender = driverGender;
    }

    public Date getDriverBirthday() {
        return driverBirthday;
    }

    public void setDriverBirthday(Date driverBirthday) {
        this.driverBirthday = driverBirthday;
    }

    public String getDriverNationality() {
        return driverNationality;
    }

    public void setDriverNationality(String driverNationality) {
        this.driverNationality = driverNationality;
    }

    public String getDriverNation() {
        return driverNation;
    }

    public void setDriverNation(String driverNation) {
        this.driverNation = driverNation;
    }

    public String getDriverEducation() {
        return driverEducation;
    }

    public void setDriverEducation(String driverEducation) {
        this.driverEducation = driverEducation;
    }

    public String getDriverAddress() {
        return driverAddress;
    }

    public void setDriverAddress(String driverAddress) {
        this.driverAddress = driverAddress;
    }

    public String getDriverContactAddress() {
        return driverContactAddress;
    }

    public void setDriverContactAddress(String driverContactAddress) {
        this.driverContactAddress = driverContactAddress;
    }

    public String getPhotoId() {
        return photoId;
    }

    public void setPhotoId(String photoId) {
        this.photoId = photoId;
    }

    public String getDriverType() {
        return driverType;
    }

    public void setDriverType(String driverType) {
        this.driverType = driverType;
    }

    public Date getGetDriverLicenseDate() {
        return getDriverLicenseDate;
    }

    public void setGetDriverLicenseDate(Date getDriverLicenseDate) {
        this.getDriverLicenseDate = getDriverLicenseDate;
    }

    public Integer getTaxiDriver() {
        return taxiDriver;
    }

    public void setTaxiDriver(Integer taxiDriver) {
        this.taxiDriver = taxiDriver;
    }

    public String getNetworkCarIssueOrganization() {
        return networkCarIssueOrganization;
    }

    public void setNetworkCarIssueOrganization(String networkCarIssueOrganization) {
        this.networkCarIssueOrganization = networkCarIssueOrganization;
    }

    public Date getNetworkCarIssueDate() {
        return networkCarIssueDate;
    }

    public void setNetworkCarIssueDate(Date networkCarIssueDate) {
        this.networkCarIssueDate = networkCarIssueDate;
    }

    public Date getGetNetworkCarProofDate() {
        return getNetworkCarProofDate;
    }

    public void setGetNetworkCarProofDate(Date getNetworkCarProofDate) {
        this.getNetworkCarProofDate = getNetworkCarProofDate;
    }

    public Date getNetworkCarProofOn() {
        return networkCarProofOn;
    }

    public void setNetworkCarProofOn(Date networkCarProofOn) {
        this.networkCarProofOn = networkCarProofOn;
    }

    public Date getNetworkCarProofOff() {
        return networkCarProofOff;
    }

    public void setNetworkCarProofOff(Date networkCarProofOff) {
        this.networkCarProofOff = networkCarProofOff;
    }

    public Date getRegisterDate() {
        return registerDate;
    }

    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }

    public Integer getInDriverBlacklist() {
        return inDriverBlacklist;
    }

    public void setInDriverBlacklist(Integer inDriverBlacklist) {
        this.inDriverBlacklist = inDriverBlacklist;
    }

    public Integer getCommercialType() {
        return commercialType;
    }

    public void setCommercialType(Integer commercialType) {
        this.commercialType = commercialType;
    }

    public String getContractCompany() {
        return contractCompany;
    }

    public void setContractCompany(String contractCompany) {
        this.contractCompany = contractCompany;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
    }

    public String getLicensePhotoId() {
        return licensePhotoId;
    }

    public void setLicensePhotoId(String licensePhotoId) {
        this.licensePhotoId = licensePhotoId;
    }

    public String getLicenseId() {
        return licenseId;
    }

    public void setLicenseId(String licenseId) {
        this.licenseId = licenseId;
    }

    public String getDataSource() {
        return dataSource;
    }

    public void setDataSource(String dataSource) {
        this.dataSource = dataSource;
    }

    public String getVehicleNo() {
        return vehicleNo;
    }

    public void setVehicleNo(String vehicleNo) {
        this.vehicleNo = vehicleNo;
    }

    public String getFrameNo() {
        return frameNo;
    }

    public void setFrameNo(String frameNo) {
        this.frameNo = frameNo;
    }

    public String getVehCertNo() {
        return vehCertNo;
    }

    public void setVehCertNo(String vehCertNo) {
        this.vehCertNo = vehCertNo;
    }

    public String getContractType() {
        return contractType;
    }

    public void setContractType(String contractType) {
        this.contractType = contractType;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getContractStatus() {
        return contractStatus;
    }

    public void setContractStatus(String contractStatus) {
        this.contractStatus = contractStatus;
    }

    public String getSignTime() {
        return signTime;
    }

    public void setSignTime(String signTime) {
        this.signTime = signTime;
    }

    public String getContractFile() {
        return contractFile;
    }

    public void setContractFile(String contractFile) {
        this.contractFile = contractFile;
    }

    public String getRefuseReaon() {
        return refuseReaon;
    }

    public void setRefuseReaon(String refuseReaon) {
        this.refuseReaon = refuseReaon;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }


}
